import request from '/@/utils/request';

export function useRoleApi() {
	return {
		// 查询角色列表
		listRole: (query: any) => {
			return request({
				url: '/system/role/page',
				method: 'get',
				params: query,
			});
		},

		// 查询角色详细
		getRole: (roleId: string) => {
			return request({
				url: '/system/role/' + roleId,
				method: 'get',
			});
		},

		// 新增角色
		addRole: (data: any) => {
			return request({
				url: '/system/role',
				method: 'post',
				data: data,
			});
		},

		// 修改角色
		updateRole: (data: any) => {
			return request({
				url: '/system/role',
				method: 'put',
				data: data,
			});
		},

		// 角色数据权限
		dataScope: (data: any) => {
			return request({
				url: '/system/role/dataScope',
				method: 'put',
				data: data,
			});
		},

		// 角色状态修改
		changeRoleStatus: (roleId: any, status: any) => {
			const data = {
				roleId,
				status,
			};
			return request({
				url: '/system/role/changeStatus',
				method: 'put',
				data: data,
			});
		},

		// 删除角色
		delRole: (roleId: string) => {
			return request({
				url: '/system/role/' + roleId,
				method: 'delete',
			});
		},

		// 查询角色已授权用户列表
		allocatedUserList: (query: any) => {
			return request({
				url: '/system/role/authUser/allocatedList',
				method: 'get',
				params: query,
			});
		},

		// 查询角色未授权用户列表
		unallocatedUserList: (query: any) => {
			return request({
				url: '/system/role/authUser/unallocatedList',
				method: 'get',
				params: query,
			});
		},

		// 取消用户授权角色
		authUserCancel: (data: any) => {
			return request({
				url: '/system/role/authUser/cancel',
				method: 'put',
				data: data,
			});
		},

		// 批量取消用户授权角色
		authUserCancelAll: (data: any) => {
			return request({
				url: '/system/role/authUser/cancelAll',
				method: 'put',
				params: data,
			});
		},

		// 授权用户选择
		authUserSelectAll: (data: any) => {
			return request({
				url: '/system/role/authUser/selectAll',
				method: 'put',
				params: data,
			});
		},
	};
}
